home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / xprtdefs.h < prev   
C/C++ Source or Header  |  2001-10-08  |  27KB  |  674 lines

  1. //===========================================================================
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) Microsoft Corporation. All rights reserved.
  9. //
  10. //===========================================================================
  11. //
  12. // filename XPrtDefs.h (Derived from edevdefs.h)
  13. //
  14. // External Device (like a VCR) control interface parameter and value definitions
  15. //
  16. // Note:new constants added: ED_BASE+800L -> ED_BASE+811L
  17. //
  18. // 1-30-98:
  19. //   New constant added for DVCR: ED_BASE+900L -> ED_BASE+1000L
  20. // 
  21.  
  22. #ifndef __XPRTDEFS__
  23. #define __XPRTDEFS__
  24.  
  25.  
  26. #define ED_BASE                        0x1000L
  27.  
  28. // this is used to tell the device communications object which
  29. // physical communications port to use.
  30. #define DEV_PORT_SIM    1
  31. #define DEV_PORT_COM1    2    // standard serial ports
  32. #define DEV_PORT_COM2    3
  33. #define DEV_PORT_COM3    4
  34. #define DEV_PORT_COM4    5
  35. #define DEV_PORT_DIAQ    6    // Diaquest driver
  36. #define DEV_PORT_ARTI    7    // ARTI driver
  37. #define DEV_PORT_1394    8    // IEEE 1394 Bus
  38. #define DEV_PORT_USB    9    // Universal Serial Bus
  39. #define DEV_PORT_MIN    DEV_PORT_SIM
  40. #define DEV_PORT_MAX    DEV_PORT_USB
  41.  
  42.  
  43. //    IAMExtDevice Capability Items:  unless otherwise specified, these items return 
  44. //       OATRUE or OAFALSE.  All return values are in pdwValue unless otherwise specified:
  45.  
  46. #define ED_DEVCAP_CAN_RECORD            ED_BASE+1L
  47. #define ED_DEVCAP_CAN_RECORD_STROBE        ED_BASE+2L    // for multitrack devices: 
  48.                                                     // switches currently recording tracks off 
  49.                                                     // and selected non-recording tracks into record
  50. #define ED_DEVCAP_HAS_AUDIO            ED_BASE+3L
  51. #define ED_DEVCAP_HAS_VIDEO            ED_BASE+4L
  52. #define ED_DEVCAP_USES_FILES        ED_BASE+5L
  53. #define ED_DEVCAP_CAN_SAVE            ED_BASE+6L
  54.  
  55. #define ED_DEVCAP_DEVICE_TYPE        ED_BASE+7L    // returns one of the following:
  56. #define ED_DEVTYPE_VCR                ED_BASE+8L
  57. #define ED_DEVTYPE_LASERDISK        ED_BASE+9L
  58. #define ED_DEVTYPE_ATR                 ED_BASE+10L
  59. #define ED_DEVTYPE_DDR                ED_BASE+11L
  60. #define ED_DEVTYPE_ROUTER             ED_BASE+12L
  61. #define ED_DEVTYPE_KEYER             ED_BASE+13L
  62. #define ED_DEVTYPE_MIXER_VIDEO         ED_BASE+14L
  63. #define ED_DEVTYPE_DVE                 ED_BASE+15L
  64. #define ED_DEVTYPE_WIPEGEN             ED_BASE+16L
  65. #define ED_DEVTYPE_MIXER_AUDIO         ED_BASE+17L
  66. #define ED_DEVTYPE_CG                 ED_BASE+18L
  67. #define ED_DEVTYPE_TBC                 ED_BASE+19L
  68. #define ED_DEVTYPE_TCG                 ED_BASE+20L
  69. #define ED_DEVTYPE_GPI                 ED_BASE+21L
  70. #define ED_DEVTYPE_JOYSTICK         ED_BASE+22L
  71. #define ED_DEVTYPE_KEYBOARD            ED_BASE+23L
  72.  
  73. // returns mfr-specific ID from external device.
  74. #define ED_DEVCAP_EXTERNAL_DEVICE_ID    ED_BASE+24L
  75.  
  76. #define ED_DEVCAP_TIMECODE_READ        ED_BASE+25L
  77. #define ED_DEVCAP_TIMECODE_WRITE    ED_BASE+26L
  78. //    used for seekable non-timecode enabled devices
  79. #define ED_DEVCAP_CTLTRK_READ        ED_BASE+27L
  80. //    used for seekable non-timecode enabled devices
  81. #define ED_DEVCAP_INDEX_READ        ED_BASE+28L
  82.  
  83. // returns device preroll time in current time format
  84. #define ED_DEVCAP_PREROLL            ED_BASE+29L
  85. // returns device postroll time in current time format
  86. #define ED_DEVCAP_POSTROLL            ED_BASE+30L
  87.  
  88. // returns indication of deviceÆs synchronization accuracy.
  89. #define ED_DEVCAP_SYNC_ACCURACY        ED_BASE+31L    // returns one of the following:
  90. #define ED_SYNCACC_PRECISE            ED_BASE+32L
  91. #define ED_SYNCACC_FRAME            ED_BASE+33L
  92. #define ED_SYNCACC_ROUGH            ED_BASE+34L
  93.  
  94. // returns deviceÆs normal framerate.
  95. #define ED_DEVCAP_NORMAL_RATE    ED_BASE+35L    // returns one of the following:
  96. #define ED_RATE_24                ED_BASE+36L
  97. #define ED_RATE_25                ED_BASE+37L
  98. #define ED_RATE_2997            ED_BASE+38L
  99. #define ED_RATE_30                ED_BASE+39L
  100.  
  101. #define ED_DEVCAP_CAN_PREVIEW    ED_BASE+40L
  102. #define ED_DEVCAP_CAN_MONITOR_SOURCES    ED_BASE+41L
  103.  
  104. // indicates implementation allows testing of methods/parameters by
  105. // setting the hi bit of a parm that makes sense - see individual methods
  106. // for details.
  107. #define ED_DEVCAP_CAN_TEST            ED_BASE+42L
  108.     
  109. // indicates device accepts video as an input.
  110. #define ED_DEVCAP_VIDEO_INPUTS        ED_BASE+43L
  111.  
  112. // indicates device accepts audio as an input.
  113. #define ED_DEVCAP_AUDIO_INPUTS        ED_BASE+44L
  114.  
  115. #define ED_DEVCAP_NEEDS_CALIBRATING    ED_BASE+45L
  116.  
  117. #define ED_DEVCAP_SEEK_TYPE            ED_BASE+46L    // returns one of the following:
  118. #define ED_SEEK_PERFECT                ED_BASE+47L    // indicates device can execute seek 
  119.                                                 // within 1 video frames without signal 
  120.                                                 //    break (like a DDR)
  121. #define ED_SEEK_FAST                ED_BASE+48L    // indicates device can move pretty quick 
  122.                                                 //  with short break in signal
  123. #define ED_SEEK_SLOW                ED_BASE+49L    // seeks like a tape transport
  124.  
  125. #define ED_POWER_ON                    ED_BASE+50L
  126. #define ED_POWER_OFF                ED_BASE+51L
  127. #define ED_POWER_STANDBY            ED_BASE+52L
  128.  
  129. #define ED_ACTIVE                    ED_BASE+53L
  130. #define ED_INACTIVE                 ED_BASE+54L
  131. #define ED_ALL                        ED_BASE+55L
  132. #define ED_TEST                        ED_BASE+56L
  133.  
  134. //    IAMExtTransport Capability Items:  unless otherwise specified, these items return 
  135. //       OATRUE or OAFALSE.  All return values are in pdwValue unless otherwise specified:
  136.  
  137. #define ED_TRANSCAP_CAN_EJECT            ED_BASE+100L
  138. #define ED_TRANSCAP_CAN_BUMP_PLAY        ED_BASE+101L    // variable speed for synchronizing
  139. #define ED_TRANSCAP_CAN_PLAY_BACKWARDS    ED_BASE+102L    // servo locked for use during an edit
  140. #define ED_TRANSCAP_CAN_SET_EE            ED_BASE+103L    // show deviceÆs input on its output
  141. #define ED_TRANSCAP_CAN_SET_PB            ED_BASE+104L    // show media playback on deviceÆs output
  142. #define ED_TRANSCAP_CAN_DELAY_VIDEO_IN    ED_BASE+105L    // transport can do delayed-in video edits
  143. #define ED_TRANSCAP_CAN_DELAY_VIDEO_OUT    ED_BASE+106L    // transport can do delayed-out video edits
  144. #define ED_TRANSCAP_CAN_DELAY_AUDIO_IN    ED_BASE+107L    // transport can do delayed-in audio edits
  145. #define ED_TRANSCAP_CAN_DELAY_AUDIO_OUT    ED_BASE+108L    // transport can do delayed-out audio edits
  146. #define ED_TRANSCAP_FWD_VARIABLE_MAX    ED_BASE+109L    // max forward speed (multiple of play speed) 
  147.                                                         //  in pdblValue
  148. #define ED_TRANSCAP_FWD_VARIABLE_MIN    ED_BASE+800L    // min forward speed (multiple of play speed) 
  149.                                                         //  in pdblValue
  150. #define ED_TRANSCAP_REV_VARIABLE_MAX    ED_BASE+110L    // max reverse speed (multiple of play speed) in
  151.                                                         //  pdblValue
  152. #define ED_TRANSCAP_REV_VARIABLE_MIN    ED_BASE+801L    // min reverse speed (multiple of play speed)
  153.                                                         //  in pdblValue
  154. #define ED_TRANSCAP_FWD_SHUTTLE_MAX        ED_BASE+802L    // max forward speed in Shuttle mode (multiple
  155.                                                         //  of play speed) in pdblValue
  156. #define ED_TRANSCAP_FWD_SHUTTLE_MIN        ED_BASE+803L    // min forward speed in Shuttle mode (multiple
  157.                                                         //  of play speed) in pdblValue
  158. #define ED_TRANSCAP_REV_SHUTTLE_MAX        ED_BASE+804L    // max reverse speed in Shuttle mode (multiple
  159.                                                         //  of play speed) in pdblValue
  160. #define ED_TRANSCAP_REV_SHUTTLE_MIN        ED_BASE+805L    // min reverse speed in Shuttle mode (multiple
  161.                                                         //  of play speed) in pdblValue
  162. #define ED_TRANSCAP_NUM_AUDIO_TRACKS    ED_BASE+111L    // returns number of audio tracks
  163. #define ED_TRANSCAP_LTC_TRACK            ED_BASE+112L    // returns track number of LTC timecode track.
  164.                                                         //  ED_ALL means no dedicated timecode track
  165. #define ED_TRANSCAP_NEEDS_TBC            ED_BASE+113L    // deviceÆs output not stable
  166. #define ED_TRANSCAP_NEEDS_CUEING        ED_BASE+114L    // device must be cued prior to performing edit
  167. #define ED_TRANSCAP_CAN_INSERT            ED_BASE+115L
  168. #define ED_TRANSCAP_CAN_ASSEMBLE        ED_BASE+116L
  169. #define ED_TRANSCAP_FIELD_STEP            ED_BASE+117L    // device responds to Frame Advance command by 
  170.                                                         //  advancing one field
  171. #define ED_TRANSCAP_CLOCK_INC_RATE        ED_BASE+118L    // VISCA command - keep for compatibility
  172. #define ED_TRANSCAP_CAN_DETECT_LENGTH    ED_BASE+119L
  173. #define ED_TRANSCAP_CAN_FREEZE            ED_BASE+120L
  174. #define ED_TRANSCAP_HAS_TUNER            ED_BASE+121L
  175. #define ED_TRANSCAP_HAS_TIMER            ED_BASE+122L
  176. #define ED_TRANSCAP_HAS_CLOCK            ED_BASE+123L
  177. #define ED_TRANSCAP_MULTIPLE_EDITS        ED_BASE+806L    // OATRUE means device/filter can support
  178.                                                         //  multiple edit events
  179. #define ED_TRANSCAP_IS_MASTER            ED_BASE+807L    // OATRUE means device is the master clock
  180.                                                         //  for synchronizing (this sets timecode-to-
  181.                                                         //  reference clock offset for editing)
  182. #define ED_TRANSCAP_HAS_DT                ED_BASE+814L    // OATRUE means device has Dynamic Tracking
  183.  
  184. //    IAMExtTransport Media States
  185. #define ED_MEDIA_SPIN_UP            ED_BASE+130L
  186. #define ED_MEDIA_SPIN_DOWN            ED_BASE+131L
  187. #define ED_MEDIA_UNLOAD                ED_BASE+132L
  188.  
  189. //    IAMExtTransport Modes
  190. #define    ED_MODE_PLAY                ED_BASE+200L
  191. #define    ED_MODE_STOP                ED_BASE+201L
  192. #define    ED_MODE_FREEZE                ED_BASE+202L    // really "pause"
  193. #define    ED_MODE_THAW                ED_BASE+203L
  194. #define    ED_MODE_FF                    ED_BASE+204L
  195. #define    ED_MODE_REW                    ED_BASE+205L
  196. #define    ED_MODE_RECORD                ED_BASE+206L
  197. #define    ED_MODE_RECORD_STROBE        ED_BASE+207L
  198. #define ED_MODE_RECORD_FREEZE        ED_BASE+808L    // never "put", only "get"
  199. #define    ED_MODE_STEP                ED_BASE+208L    // same as "jog"
  200. #define    ED_MODE_STEP_FWD            ED_BASE+208L    // same as ED_MODE_STEP
  201. #define    ED_MODE_STEP_REV            ED_BASE+809L
  202. #define    ED_MODE_SHUTTLE                ED_BASE+209L
  203. #define    ED_MODE_EDIT_CUE            ED_BASE+210L
  204. #define ED_MODE_VAR_SPEED            ED_BASE+211L
  205. #define ED_MODE_PERFORM                ED_BASE+212L    // returned status only
  206. #define    ED_MODE_LINK_ON                ED_BASE+280L
  207. #define    ED_MODE_LINK_OFF            ED_BASE+281L
  208. #define ED_MODE_NOTIFY_ENABLE        ED_BASE+810L
  209. #define ED_MODE_NOTIFY_DISABLE        ED_BASE+811L
  210. #define ED_MODE_SHOT_SEARCH            ED_BASE+812L
  211.  
  212. //    IAMTimecodeReader/Generator/Display defines
  213. //
  214. // Timecode Generator Mode params and values:
  215. //
  216. #define ED_TCG_TIMECODE_TYPE        ED_BASE+400L    // can be one of the following:
  217. #define ED_TCG_SMPTE_LTC            ED_BASE+401L
  218. #define ED_TCG_SMPTE_VITC            ED_BASE+402L
  219. #define ED_TCG_MIDI_QF                ED_BASE+403L
  220. #define ED_TCG_MIDI_FULL            ED_BASE+404L
  221.  
  222. #define ED_TCG_FRAMERATE            ED_BASE+405L    // can be one of the following:
  223. #define ED_FORMAT_SMPTE_30            ED_BASE+406L
  224. #define ED_FORMAT_SMPTE_30DROP        ED_BASE+407L
  225. #define ED_FORMAT_SMPTE_25            ED_BASE+408L
  226. #define ED_FORMAT_SMPTE_24            ED_BASE+409L
  227.  
  228. #define ED_TCG_SYNC_SOURCE            ED_BASE+410L    // can be one of the following:
  229. #define ED_TCG_VIDEO                ED_BASE+411L
  230. #define ED_TCG_READER                ED_BASE+412L
  231. #define ED_TCG_FREE                    ED_BASE+413L
  232.  
  233. #define ED_TCG_REFERENCE_SOURCE        ED_BASE+414L    // can have one these values:
  234.                                                     //    ED_TCG_FREE || ED_TCG_READER 
  235.                                                     //    (for regen/jamsync)
  236.  
  237. // TimeCodeReader Mode params and values:
  238. #define ED_TCR_SOURCE            ED_BASE+416L    // can be one of the following:
  239. // ED_TCG (already defined)
  240. #define ED_TCR_LTC                ED_BASE+417L
  241. #define ED_TCR_VITC                ED_BASE+418L
  242. #define ED_TCR_CT                ED_BASE+419L    // Control Track
  243. #define ED_TCR_FTC                ED_BASE+420L    // File TimeCode - for file-based devices
  244.                                                 //  that wish they were transports
  245. // ED_MODE_NOTIFY_ENABLE can be OATRUE or OAFALSE (defined in transport mode
  246. //  section of this file).  
  247. #define ED_TCR_LAST_VALUE        ED_BASE+421L    // for notification mode - 
  248.                                                 //  successive calls to GetTimecode
  249.                                                 //  return the last read value
  250. // TimeCode Display Mode params and values:
  251. //
  252. #define ED_TCD_SOURCE            ED_BASE+422L    // can be one of the following:
  253. #define ED_TCR                    ED_BASE+423L
  254. #define ED_TCG                    ED_BASE+424L
  255.  
  256. #define ED_TCD_SIZE                ED_BASE+425L    // can be one of the following:
  257. #define ED_SMALL                ED_BASE+426L
  258. #define ED_MED                    ED_BASE+427L
  259. #define ED_LARGE                ED_BASE+428L
  260.  
  261. #define ED_TCD_POSITION            ED_BASE+429L    // can be one of the following:
  262. #define ED_TOP                    0x0001
  263. #define ED_MIDDLE                0x0002
  264. #define ED_BOTTOM                0x0004            // orÆd  with
  265. #define ED_LEFT                    0x0100
  266. #define ED_CENTER                0x0200
  267. #define ED_RIGHT                0x0400
  268.  
  269. #define ED_TCD_INTENSITY        ED_BASE+436L    // can be one of the following:
  270. #define ED_HIGH                    ED_BASE+437L
  271. #define ED_LOW                    ED_BASE+438L
  272.  
  273. #define ED_TCD_TRANSPARENCY        ED_BASE+439L    // 0-4, 0 is opaque
  274.  
  275. #define ED_TCD_INVERT            ED_BASE+440L    // OATRUE=black on white
  276.                                                 // OAFALSE=white on black
  277. //    IAMExtTransport defines
  278. //
  279. // Transport status, params and values
  280. //
  281.  
  282. // IAMExtTransport Status items and and values:
  283. #define ED_MODE                    ED_BASE+500L    // see ED_MODE_xxx values above
  284. #define    ED_ERROR                ED_BASE+501L
  285. #define    ED_LOCAL                ED_BASE+502L
  286. #define    ED_RECORD_INHIBIT        ED_BASE+503L
  287. #define    ED_SERVO_LOCK            ED_BASE+504L
  288. #define    ED_MEDIA_PRESENT        ED_BASE+505L
  289. #define    ED_MEDIA_LENGTH            ED_BASE+506L
  290. #define    ED_MEDIA_SIZE            ED_BASE+507L
  291. #define    ED_MEDIA_TRACK_COUNT    ED_BASE+508L
  292. #define    ED_MEDIA_TRACK_LENGTH    ED_BASE+509L
  293. #define    ED_MEDIA_SIDE            ED_BASE+510L
  294.  
  295. #define    ED_MEDIA_TYPE            ED_BASE+511L    // can be one of the following:
  296. #define    ED_MEDIA_VHS            ED_BASE+512L
  297. #define    ED_MEDIA_SVHS            ED_BASE+513L
  298. #define    ED_MEDIA_HI8            ED_BASE+514L
  299. #define    ED_MEDIA_UMATIC            ED_BASE+515L
  300. #define    ED_MEDIA_DVC            ED_BASE+516L
  301. #define    ED_MEDIA_1_INCH            ED_BASE+517L
  302. #define    ED_MEDIA_D1                ED_BASE+518L
  303. #define    ED_MEDIA_D2                ED_BASE+519L
  304. #define    ED_MEDIA_D3                ED_BASE+520L
  305. #define    ED_MEDIA_D5                ED_BASE+521L
  306. #define    ED_MEDIA_DBETA            ED_BASE+522L
  307. #define    ED_MEDIA_BETA            ED_BASE+523L
  308. #define    ED_MEDIA_8MM            ED_BASE+524L
  309. #define    ED_MEDIA_DDR            ED_BASE+525L
  310. #define    ED_MEDIA_SX                ED_BASE+813L
  311. #define    ED_MEDIA_OTHER            ED_BASE+526L
  312. #define    ED_MEDIA_CLV            ED_BASE+527L
  313. #define    ED_MEDIA_CAV            ED_BASE+528L
  314. #define ED_MEDIA_POSITION        ED_BASE+529L
  315.  
  316. #define ED_MEDIA_NEO            ED_BASE+531L    // Mini digital tape for MPEG2TS signal
  317.  
  318. #define ED_LINK_MODE            ED_BASE+530L    // OATRUE if transport controls
  319.                                                  // are linked to graph's RUN, 
  320.                                                  // STOP, and PAUSE methods
  321.  
  322. // IAMExtTransport Basic Parms
  323. #define    ED_TRANSBASIC_TIME_FORMAT    ED_BASE+540L    // can be one of the following:
  324. #define    ED_FORMAT_MILLISECONDS        ED_BASE+541L
  325. #define    ED_FORMAT_FRAMES            ED_BASE+542L
  326. #define ED_FORMAT_REFERENCE_TIME    ED_BASE+543L
  327.  
  328. #define    ED_FORMAT_HMSF                ED_BASE+547L
  329. #define    ED_FORMAT_TMSF                ED_BASE+548L
  330.  
  331. #define    ED_TRANSBASIC_TIME_REFERENCE    ED_BASE+549L    // can be one of the following:
  332. #define    ED_TIMEREF_TIMECODE            ED_BASE+550L
  333. #define    ED_TIMEREF_CONTROL_TRACK    ED_BASE+551L
  334. #define    ED_TIMEREF_INDEX            ED_BASE+552L
  335.  
  336. #define    ED_TRANSBASIC_SUPERIMPOSE        ED_BASE+553L    // enable/disable onscreen display
  337. #define    ED_TRANSBASIC_END_STOP_ACTION    ED_BASE+554L    // can be one of: ED_MODE_STOP |
  338.                                                         //    ED_MODE_REWIND | ED_MODE_FREEZE
  339. #define    ED_TRANSBASIC_RECORD_FORMAT    ED_BASE+555L    // can be one of the following:
  340. #define    ED_RECORD_FORMAT_SP            ED_BASE+556L
  341. #define    ED_RECORD_FORMAT_LP            ED_BASE+557L
  342. #define    ED_RECORD_FORMAT_EP            ED_BASE+558L
  343.  
  344. #define    ED_TRANSBASIC_STEP_COUNT    ED_BASE+559L
  345. #define    ED_TRANSBASIC_STEP_UNIT        ED_BASE+560L    // can be one of the following:
  346. #define    ED_STEP_FIELD                ED_BASE+561L
  347. #define    ED_STEP_FRAME                ED_BASE+562L
  348. #define    ED_STEP_3_2                    ED_BASE+563L
  349.  
  350. #define    ED_TRANSBASIC_PREROLL        ED_BASE+564L
  351. #define    ED_TRANSBASIC_RECPREROLL    ED_BASE+565L
  352. #define    ED_TRANSBASIC_POSTROLL        ED_BASE+566L
  353. #define    ED_TRANSBASIC_EDIT_DELAY    ED_BASE+567L
  354. #define    ED_TRANSBASIC_PLAYTC_DELAY    ED_BASE+568L
  355. #define    ED_TRANSBASIC_RECTC_DELAY    ED_BASE+569L
  356. #define ED_TRANSBASIC_EDIT_FIELD    ED_BASE+570L
  357. #define    ED_TRANSBASIC_FRAME_SERVO    ED_BASE+571L
  358. #define    ED_TRANSBASIC_CF_SERVO        ED_BASE+572L
  359. #define    ED_TRANSBASIC_SERVO_REF        ED_BASE+573L    // can be one of the following:
  360. #define    ED_REF_EXTERNAL                ED_BASE+574L
  361. #define    ED_REF_INPUT                ED_BASE+575L
  362. #define    ED_REF_INTERNAL                ED_BASE+576L
  363. #define    ED_REF_AUTO                    ED_BASE+577L
  364.  
  365. #define    ED_TRANSBASIC_WARN_GL        ED_BASE+578L
  366. #define    ED_TRANSBASIC_SET_TRACKING    ED_BASE+579L    // can be one of the following:
  367. #define    ED_TRACKING_PLUS            ED_BASE+580L
  368. #define    ED_TRACKING_MINUS            ED_BASE+581L
  369. #define    ED_TRACKING_RESET            ED_BASE+582L
  370.  
  371. #define    ED_TRANSBASIC_SET_FREEZE_TIMEOUT    ED_BASE+583L
  372. #define    ED_TRANSBASIC_VOLUME_NAME        ED_BASE+584L
  373. #define    ED_TRANSBASIC_BALLISTIC_1        ED_BASE+585L    // space for proprietary data
  374. #define    ED_TRANSBASIC_BALLISTIC_2        ED_BASE+586L
  375. #define    ED_TRANSBASIC_BALLISTIC_3        ED_BASE+587L
  376. #define    ED_TRANSBASIC_BALLISTIC_4        ED_BASE+588L
  377. #define    ED_TRANSBASIC_BALLISTIC_5        ED_BASE+589L
  378. #define    ED_TRANSBASIC_BALLISTIC_6        ED_BASE+590L
  379. #define    ED_TRANSBASIC_BALLISTIC_7        ED_BASE+591L
  380. #define    ED_TRANSBASIC_BALLISTIC_8        ED_BASE+592L
  381. #define    ED_TRANSBASIC_BALLISTIC_9        ED_BASE+593L
  382. #define    ED_TRANSBASIC_BALLISTIC_10        ED_BASE+594L
  383. #define    ED_TRANSBASIC_BALLISTIC_11        ED_BASE+595L
  384. #define    ED_TRANSBASIC_BALLISTIC_12        ED_BASE+596L
  385. #define    ED_TRANSBASIC_BALLISTIC_13        ED_BASE+597L
  386. #define    ED_TRANSBASIC_BALLISTIC_14        ED_BASE+598L
  387. #define    ED_TRANSBASIC_BALLISTIC_15        ED_BASE+599L
  388. #define    ED_TRANSBASIC_BALLISTIC_16        ED_BASE+600L
  389. #define    ED_TRANSBASIC_BALLISTIC_17        ED_BASE+601L
  390. #define    ED_TRANSBASIC_BALLISTIC_18        ED_BASE+602L
  391. #define    ED_TRANSBASIC_BALLISTIC_19        ED_BASE+603L
  392. #define    ED_TRANSBASIC_BALLISTIC_20        ED_BASE+604L
  393.  
  394. // consumer VCR items
  395. #define    ED_TRANSBASIC_SETCLOCK            ED_BASE+605L
  396. #define    ED_TRANSBASIC_SET_COUNTER_FORMAT    ED_BASE+606L    // uses time format flags
  397. #define    ED_TRANSBASIC_SET_COUNTER_VALUE    ED_BASE+607L
  398.  
  399. #define    ED_TRANSBASIC_SETTUNER_CH_UP    ED_BASE+608L
  400. #define    ED_TRANSBASIC_SETTUNER_CH_DN    ED_BASE+609L
  401. #define    ED_TRANSBASIC_SETTUNER_SK_UP    ED_BASE+610L
  402. #define    ED_TRANSBASIC_SETTUNER_SK_DN    ED_BASE+611L
  403. #define    ED_TRANSBASIC_SETTUNER_CH        ED_BASE+612L
  404. #define    ED_TRANSBASIC_SETTUNER_NUM        ED_BASE+613L
  405.  
  406. #define    ED_TRANSBASIC_SETTIMER_EVENT    ED_BASE+614L
  407. #define    ED_TRANSBASIC_SETTIMER_STARTDAY    ED_BASE+615L
  408. #define    ED_TRANSBASIC_SETTIMER_STARTTIME    ED_BASE+616L
  409. #define    ED_TRANSBASIC_SETTIMER_STOPDAY    ED_BASE+617L
  410. #define    ED_TRANSBASIC_SETTIMER_STOPTIME    ED_BASE+618L
  411.  
  412. // IAMExtTransport video parameters
  413. #define    ED_TRANSVIDEO_SET_OUTPUT    ED_BASE+630L    // can be one of the following:
  414. #define    ED_E2E                        ED_BASE+631L
  415. #define    ED_PLAYBACK                    ED_BASE+632L
  416. #define    ED_OFF                        ED_BASE+633L
  417.  
  418. #define    ED_TRANSVIDEO_SET_SOURCE    ED_BASE+634L
  419.  
  420. // IAMExtTransport audio parameters
  421. #define    ED_TRANSAUDIO_ENABLE_OUTPUT    ED_BASE+640L    // can be the following:
  422. #define    ED_AUDIO_ALL                0x10000000    //    or any of the following OR'd together
  423. #define ED_AUDIO_1                    0x0000001L
  424. #define ED_AUDIO_2                    0x0000002L
  425. #define ED_AUDIO_3                    0x0000004L
  426. #define ED_AUDIO_4                    0x0000008L
  427. #define ED_AUDIO_5                    0x0000010L
  428. #define ED_AUDIO_6                    0x0000020L
  429. #define ED_AUDIO_7                    0x0000040L
  430. #define ED_AUDIO_8                    0x0000080L
  431. #define ED_AUDIO_9                    0x0000100L
  432. #define ED_AUDIO_10                    0x0000200L
  433. #define ED_AUDIO_11                    0x0000400L
  434. #define ED_AUDIO_12                    0x0000800L
  435. #define ED_AUDIO_13                    0x0001000L
  436. #define ED_AUDIO_14                    0x0002000L
  437. #define ED_AUDIO_15                    0x0004000L
  438. #define ED_AUDIO_16                    0x0008000L
  439. #define ED_AUDIO_17                    0x0010000L
  440. #define ED_AUDIO_18                    0x0020000L
  441. #define ED_AUDIO_19                    0x0040000L
  442. #define ED_AUDIO_20                    0x0080000L
  443. #define ED_AUDIO_21                    0x0100000L
  444. #define ED_AUDIO_22                    0x0200000L
  445. #define ED_AUDIO_23                    0x0400000L
  446. #define ED_AUDIO_24                    0x0800000L
  447. #define ED_VIDEO                    0x2000000L    // for Edit props below
  448.  
  449. #define    ED_TRANSAUDIO_ENABLE_RECORD        ED_BASE+642L
  450. #define    ED_TRANSAUDIO_ENABLE_SELSYNC    ED_BASE+643L
  451. #define    ED_TRANSAUDIO_SET_SOURCE        ED_BASE+644L
  452. #define    ED_TRANSAUDIO_SET_MONITOR        ED_BASE+645L
  453.  
  454.  
  455. // Edit Property Set-related defs
  456.  
  457. // The following values reflect (and control) the state of an 
  458. // edit property set
  459. #define ED_INVALID        ED_BASE+652L
  460. #define ED_EXECUTING    ED_BASE+653L
  461. #define ED_REGISTER        ED_BASE+654L
  462. #define ED_DELETE        ED_BASE+655L
  463.  
  464. // Edit property set parameters and values
  465. #define ED_EDIT_HEVENT    ED_BASE+656L    // event handle to signal event 
  466.                                         // completion
  467. #define ED_EDIT_TEST    ED_BASE+657L    // returns OAFALSE if filter thinks
  468.                                         //  edit can be done, OATRUE if not
  469. #define ED_EDIT_IMMEDIATE    ED_BASE+658L    // OATRUE means start put the 
  470.                                         // device into edit mode (editing
  471.                                         // "on the fly") immediately upon
  472.                                         //  execution of Mode(ED_MODE_EDIT_CUE)
  473. #define ED_EDIT_MODE    ED_BASE+659L
  474. // can be one of the following values:
  475. #define ED_EDIT_MODE_ASSEMBLE        ED_BASE+660L
  476. #define ED_EDIT_MODE_INSERT            ED_BASE+661L
  477. #define ED_EDIT_MODE_CRASH_RECORD    ED_BASE+662L
  478. #define ED_EDIT_MODE_BOOKMARK_TIME    ED_BASE+663L        // these two are for
  479. #define ED_EDIT_MODE_BOOKMARK_CHAPTER    ED_BASE+664L    // laserdisks
  480.  
  481. #define ED_EDIT_MASTER    ED_BASE+666L    // OATRUE causes device 
  482.                                         //  not to synchronize
  483.  
  484. #define ED_EDIT_TRACK        ED_BASE+667L
  485. // can be one of the following possible OR'd values:
  486. //    ED_VIDEO, ED_AUDIO_1 thru ED_AUDIO_24 (or ED_AUDIO_ALL)
  487.  
  488. #define ED_EDIT_SRC_INPOINT        ED_BASE+668L    // in current time format
  489. #define ED_EDIT_SRC_OUTPOINT    ED_BASE+669L    // in current time format
  490. #define ED_EDIT_REC_INPOINT        ED_BASE+670L    // in current time format
  491. #define ED_EDIT_REC_OUTPOINT    ED_BASE+671L    // in current time format
  492.  
  493. #define ED_EDIT_REHEARSE_MODE    ED_BASE+672L
  494. // can be one of the following possible values:
  495. #define ED_EDIT_BVB        ED_BASE+673L    // means rehearse the edit with 
  496.                                         //  "black-video-black"
  497. #define ED_EDIT_VBV        ED_BASE+674L
  498. #define ED_EDIT_VVV        ED_BASE+675L
  499. #define ED_EDIT_PERFORM    ED_BASE+676L    // means perform the edit with no 
  500.                                         //  rehearsal.
  501.  
  502. // Set this property to OATRUE to kill the edit if in progress
  503. #define ED_EDIT_ABORT    ED_BASE+677L
  504. // how long to wait for edit to complete
  505. #define ED_EDIT_TIMEOUT    ED_BASE+678L        // in current time format
  506.  
  507. // This property causes the device to seek to a point specified by
  508. // ED_EDIT_SEEK_MODE (see below).  NOTE: Only one event at a time can seek.
  509. #define ED_EDIT_SEEK        ED_BASE+679L    // OATRUE means do it now.  
  510. #define ED_EDIT_SEEK_MODE    ED_BASE+680L
  511. //possible values:
  512. #define ED_EDIT_SEEK_EDIT_IN    ED_BASE+681L    // seek to edit's inpoint
  513. #define ED_EDIT_SEEK_EDIT_OUT    ED_BASE+682L    // seek to edit's outpoint
  514. #define ED_EDIT_SEEK_PREROLL    ED_BASE+683L    // seek to edit's 
  515.                                                 //  inpoint-preroll
  516. #define ED_EDIT_SEEK_PREROLL_CT    ED_BASE+684L    // seek to preroll point 
  517.                             // using control track (used for tapes with 
  518.                             // discontinuoustimecode before edit point: seek
  519.                             // to inpoint using timecode, then backup to 
  520.                             // preroll point using control track)
  521. #define ED_EDIT_SEEK_BOOKMARK    ED_BASE+685L    // seek to bookmark (just like 
  522.                                                 //  timecode search)
  523. // This property is used for multiple-VCR systems where each machine must
  524. //  cue to a different location relative to the graph's reference clock.  The
  525. //  basic idea is that an edit event is setup with an ED_EDIT_OFFSET property
  526. //  that tells the VCR what offset to maintain between it's timecode (converted
  527. //    to reference clock units) and the reference clock.
  528. #define ED_EDIT_OFFSET    ED_BASE+686L        // in current time format
  529.  
  530. #define ED_EDIT_PREREAD    ED_BASE+815L        // OATRUE means device supports
  531.                                             //  pre-read (recorder can also be
  532.                                             //  player
  533.  
  534. //
  535. // Some error codes:
  536. // 
  537. // device could be in local mode
  538. #define ED_ERR_DEVICE_NOT_READY        ED_BASE+700L
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545. // **************************************************
  546. //
  547. // New constants added for implementation of DVCR
  548. //
  549. // **************************************************
  550.  
  551.  
  552. //
  553. // New Device type (a DV has two subunits: camera and VCR)
  554. //
  555. #define ED_DEVTYPE_CAMERA          ED_BASE+900L
  556.  
  557. #define ED_DEVTYPE_TUNER           ED_BASE+901L
  558.  
  559. #define ED_DEVTYPE_DVHS            ED_BASE+902L
  560.  
  561. #define ED_DEVTYPE_UNKNOWN         ED_BASE+903L
  562.  
  563. //
  564. // Unknownn capability 
  565. //     Instead of return E_NOTIMPL, or S_OK with OAFALSE, it may return S_OK with _UNKNOWN
  566. //
  567. #define ED_CAPABILITY_UNKNOWN      ED_BASE+910L
  568.  
  569.  
  570. //
  571. // Send RAW extenal device command via Get/SetTransportBasicParameters()
  572. //
  573. #define ED_RAW_EXT_DEV_CMD         ED_BASE+920L
  574.  
  575.  
  576. //
  577. // MEDIUM INFO
  578. //
  579. #define ED_MEDIA_VHSC              ED_BASE+925L  // New media type
  580. #define ED_MEDIA_UNKNOWN           ED_BASE+926L  // Unknown media
  581. #define ED_MEDIA_NOT_PRESENT       ED_BASE+927L  
  582.  
  583.  
  584. //
  585. // Device Control command that can result in pending state.
  586. //
  587. #define ED_CONTROL_HEVENT_GET       ED_BASE+928L  // To get a sychronous event handle
  588. #define ED_CONTROL_HEVENT_RELEASE   ED_BASE+929L  // To release sychronous event handle must match what it got
  589.  
  590. #define ED_DEV_REMOVED_HEVENT_GET       ED_BASE+960L  // To be a notify event and will be signal if device is removed.
  591. #define ED_DEV_REMOVED_HEVENT_RELEASE   ED_BASE+961L  // Release this event handle
  592.  
  593.  
  594. //
  595. // TRANSPORT STATE
  596. //
  597. #define ED_NOTIFY_HEVENT_GET       ED_BASE+930L  // To get a sychronous event handle
  598. #define ED_NOTIFY_HEVENT_RELEASE   ED_BASE+931L  // To release sychronous event handle must match what it got
  599. #define ED_MODE_CHANGE_NOTIFY      ED_BASE+932L  // This is asynchronous operation, wait for event. 
  600.  
  601. #define    ED_MODE_PLAY_FASTEST_FWD   ED_BASE+933L
  602. #define    ED_MODE_PLAY_SLOWEST_FWD   ED_BASE+934L
  603. #define    ED_MODE_PLAY_FASTEST_REV   ED_BASE+935L
  604. #define    ED_MODE_PLAY_SLOWEST_REV   ED_BASE+936L
  605.  
  606. #define ED_MODE_WIND               ED_BASE+937L  
  607. #define ED_MODE_REW_FASTEST        ED_BASE+938L  // High speed rewind
  608.  
  609. #define    ED_MODE_REV_PLAY           ED_BASE+939L  // x1 speed reverse play
  610.  
  611.  
  612.  
  613. //
  614. // TRANSPOSRTBASIC: input and output signal
  615. //
  616. #define    ED_TRANSBASIC_INPUT_SIGNAL      ED_BASE+940L
  617. #define    ED_TRANSBASIC_OUTPUT_SIGNAL     ED_BASE+941L
  618.  
  619. #define    ED_TRANSBASIC_SIGNAL_525_60_SD  ED_BASE+942L
  620. #define    ED_TRANSBASIC_SIGNAL_525_60_SDL ED_BASE+943L
  621. #define    ED_TRANSBASIC_SIGNAL_625_50_SD  ED_BASE+944L
  622. #define    ED_TRANSBASIC_SIGNAL_625_50_SDL ED_BASE+945L
  623.  
  624. #define    ED_TRANSBASIC_SIGNAL_625_60_HD  ED_BASE+947L
  625. #define    ED_TRANSBASIC_SIGNAL_625_50_HD  ED_BASE+948L
  626.  
  627. #define    ED_TRANSBASIC_SIGNAL_MPEG2TS    ED_BASE+946L
  628.  
  629. #define    ED_TRANSBASIC_SIGNAL_2500_60_MPEG    ED_BASE+980L
  630. #define    ED_TRANSBASIC_SIGNAL_1250_60_MPEG    ED_BASE+981L
  631. #define    ED_TRANSBASIC_SIGNAL_0625_60_MPEG    ED_BASE+982L
  632.  
  633. #define    ED_TRANSBASIC_SIGNAL_2500_50_MPEG    ED_BASE+985L
  634. #define    ED_TRANSBASIC_SIGNAL_1250_50_MPEG    ED_BASE+986L
  635. #define    ED_TRANSBASIC_SIGNAL_0625_50_MPEG    ED_BASE+987L
  636.  
  637. #define    ED_TRANSBASIC_SIGNAL_UNKNOWN    ED_BASE+990L
  638.  
  639. //
  640. // TIMECODE/AbsoluteTrackNumber/RealTimeCounter read/seek/write
  641. //
  642. #define ED_DEVCAP_TIMECODE_SEEK    ED_BASE+950L
  643.  
  644. #define ED_DEVCAP_ATN_READ           ED_BASE+951L
  645. #define ED_DEVCAP_ATN_SEEK           ED_BASE+952L
  646. #define ED_DEVCAP_ATN_WRITE           ED_BASE+953L
  647.  
  648. #define ED_DEVCAP_RTC_READ           ED_BASE+954L  
  649. #define ED_DEVCAP_RTC_SEEK           ED_BASE+955L
  650. #define ED_DEVCAP_RTC_WRITE           ED_BASE+956L
  651.  
  652. //
  653. // Basic parameter
  654. //
  655. #define ED_TIMEREF_ATN             ED_BASE+958L
  656.  
  657.  
  658. //
  659. // GUID used to identify a class driver
  660. //
  661.  
  662. #ifndef OUR_GUID_ENTRY
  663.     #define OUR_GUID_ENTRY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
  664.     DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8);
  665. #endif
  666.  
  667. // 8C0F6AF2-0EDB-44c1-8AEB-59040BD830ED  MSTapeDeviceGUID
  668. OUR_GUID_ENTRY(MSTapeDeviceGUID,
  669. 0x8C0F6AF2, 0x0EDB, 0x44c1, 0x8A, 0xEB, 0x59, 0x04, 0x0B, 0xD8, 0x30, 0xED)
  670.  
  671. #endif // __XPRTDEFS__
  672.  
  673. // eof XPrtDefs.h
  674.